package com.sssre.lttcloud.config.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sssre.lttcloud.api.entity.Config;
import com.sssre.lttcloud.common.result.Result;

import java.util.List;

/**
 * 系统配置服务接口
 */
public interface ConfigService extends IService<Config> {
    
    /**
     * 分页查询配置
     */
    Result getConfigPage(Integer pageNum, Integer pageSize, String configName, String configKey);
    
    /**
     * 查询所有配置
     */
    Result<List<Config>> getAllConfigs();
    
    /**
     * 根据ID查询配置
     */
    Result<Config> getConfigById(Long id);
    
    /**
     * 根据配置键查询配置值
     */
    Result<String> getConfigValue(String configKey);
    
    /**
     * 新增配置
     */
    Result<String> addConfig(Config config);
    
    /**
     * 修改配置
     */
    Result<String> updateConfig(Config config);
    
    /**
     * 删除配置
     */
    Result<String> deleteConfig(Long id);
    
    /**
     * 批量删除配置
     */
    Result<String> deleteConfigs(List<Long> ids);
    
    /**
     * 检查配置键是否唯一
     */
    Result<Boolean> checkConfigKeyUnique(String configKey, Long id);
    
    /**
     * 刷新配置缓存
     */
    Result<String> refreshConfigCache();
} 